package com.kingdee.eas.fdc.propertymgmt;

import com.kingdee.bos.BOSException;
//import com.kingdee.bos.metadata.*;
import com.kingdee.bos.framework.*;
import com.kingdee.bos.util.*;
import com.kingdee.bos.Context;

import java.lang.String;
import com.kingdee.bos.metadata.entity.EntityViewInfo;
import com.kingdee.eas.fdc.crm.basedata.BuildingCollection;
import com.kingdee.eas.common.EASBizException;
import com.kingdee.bos.dao.IObjectPK;
import java.util.Map;
import java.util.Date;
import com.kingdee.bos.metadata.entity.SelectorItemCollection;
import com.kingdee.eas.framework.CoreBaseCollection;
import com.kingdee.eas.fdc.crm.basedata.BuildingUnitCollection;
import com.kingdee.eas.fdc.crm.basedata.RoomCollection;
import com.kingdee.bos.util.*;
import com.kingdee.eas.fdc.crm.basedata.SellProjectInfo;
import com.kingdee.bos.BOSException;
import com.kingdee.bos.Context;
import com.kingdee.eas.framework.CoreBaseInfo;
import com.kingdee.eas.fdc.crm.basedata.BuildingInfo;
import com.kingdee.bos.framework.*;
import com.kingdee.eas.fdc.crm.basedata.BuildingUnitInfo;
import com.kingdee.eas.fdc.crm.basedata.MoneyDefineInfo;

public interface IMeterReadingBill extends IPPMProjectBill
{
    public MeterReadingBillInfo getMeterReadingBillInfo(IObjectPK pk) throws BOSException, EASBizException;
    public MeterReadingBillInfo getMeterReadingBillInfo(IObjectPK pk, SelectorItemCollection selector) throws BOSException, EASBizException;
    public MeterReadingBillInfo getMeterReadingBillInfo(String oql) throws BOSException, EASBizException;
    public MeterReadingBillCollection getMeterReadingBillCollection() throws BOSException;
    public MeterReadingBillCollection getMeterReadingBillCollection(EntityViewInfo view) throws BOSException;
    public MeterReadingBillCollection getMeterReadingBillCollection(String oql) throws BOSException;
    public MeterReadingBillCollection batchAdd(SellProjectInfo sellProjectInfo, MoneyDefineInfo chargeItemInfo, BuildingCollection buidlings, Date endDate, boolean isOverride) throws BOSException, EASBizException;
    public void checkRemove(MeterReadingBillInfo vo) throws BOSException, EASBizException;
    public boolean transfer(IObjectPK pk) throws BOSException, EASBizException;
    public MeterReadingBillEntryCollection batchAddByUnit(SellProjectInfo sellProject, MoneyDefineInfo chargeItemInfo, BuildingUnitCollection buildingUnits, Date endDate, boolean isOverride) throws BOSException, EASBizException;
    public MeterReadingBillEntryCollection batchAddByRoom(SellProjectInfo sellProject, MoneyDefineInfo chargeItemInfo, RoomCollection roomInfos, Date endDate, boolean isOverride) throws BOSException, EASBizException;
    public MeterReadingBillEntryCollection batchGenerator(SellProjectInfo sellProjectInfo, BuildingInfo building, BuildingUnitInfo buildUnit, MeterSortInfo meterSortInfo, MeterSpecInfo meterSpecInfo, boolean isPublicMeter, Map pareMap) throws BOSException;
}